<%
# Copyright (C) 2016 - present Instructure, Inc.
#
# This file is part of Canvas.
#
# Canvas is free software: you can redistribute it and/or modify it under
# the terms of the GNU Affero General Public License as published by the Free
# Software Foundation, version 3 of the License.
#
# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
%>

<% default_term ||= @root_account.default_enrollment_term %>
<% terms = terms.not_default %>
<% selected_id ||= nil %>
<% exclude_all_option ||= false %>
<% name ||= 'enrollment_term_id' %>
<% id ||= 'enrollment_term_id' %>
<select id="<%= id %>" name="<%= name %>">
  <% unless exclude_all_option %>
    <option value="" <%= 'selected' unless selected_id %>>{{#t}}All Terms{{/t}}</option>
  <% end %>
  <% if default_term %>
    <option value="<%= default_term.id %>" <%= 'selected' if default_term.id == selected_id %>><%= default_term.name %></option>
  <% end %>
  <% if terms.started.not_ended.any? %>
    <optgroup label="{{#t}}Active Terms{{/t}}">
      <% terms.started.not_ended.by_name.each do |term| %>
        <option value="<%= term.id %>" <%= 'selected' if term.id == selected_id %>><%= term.name %></option>
      <% end %>
    </optgroup>
  <% end %>
  <% if terms.not_started.any? %>
    <optgroup label="{{#t}}Future Terms{{/t}}">
      <% terms.not_started.by_name.each do |term| %>
        <option value="<%= term.id %>" <%= 'selected' if term.id == selected_id %>><%= term.name %></option>
      <% end %>
    </optgroup>
  <% end %>
  <% if terms.ended.any? %>
    <optgroup label="{{#t}}Past Terms{{/t}}">
      <% terms.ended.by_name.each do |term| %>
        <option value="<%= term.id %>" <%= 'selected' if term.id == selected_id %>><%= term.name %></option>
      <% end %>
    </optgroup>
  <% end %>
</select>
